package com.hyyt.shopjsp.product.service.imp;

import com.hyyt.shopjsp.product.dao.ShopSpecificationValueDao;
import com.hyyt.shopjsp.product.pojo.ShopSpecificationValue;
import com.hyyt.shopjsp.product.service.IShopSpecificationValueService;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * @author 刘超 on 2017/8/6.
 */
@Service
public class ShopSpecificationValueService implements IShopSpecificationValueService {

    private static  final Logger logger = Logger.getLogger(ShopSpecificationValueService.class);

    @Resource
    private ShopSpecificationValueDao shopSpecificationValueDAO;

    /**
     * 保存SHOP_商品规格值
     *
     * @param shopSpecificationValue SHOP_商品规格值
     * @return 保存后的SHOP_商品规格值
     */
    @Override
    public void saveShopSpecificationValue(ShopSpecificationValue shopSpecificationValue) {
        shopSpecificationValueDAO.insert(shopSpecificationValue);
    }

    /**
     * 更新SHOP_商品值
     *
     * @param shopSpecificationValue SHOP_商品规格值
     * @return 更新后的SHOP_商品规格值
     */
    @Override
    public void updateShopSpecificationValue(ShopSpecificationValue shopSpecificationValue) {
        shopSpecificationValueDAO.update(shopSpecificationValue);
    }

    /**
     * 删除指定ID的SHOP_商品规格值
     *
     * @param id SHOP_商品规格值ID
     */
    @Override
    public void deleteShopSpecificationValue(Integer id) {
        shopSpecificationValueDAO.delete(id);
    }

    /**
     * 删除指定ID集合的SHOP_商品规格值
     *
     * @param ids SHOP_商品规格值ID集合
     */
    public void deleteShopSpecificationValue(Collection<Integer> ids){
        shopSpecificationValueDAO.batchDelete(ids);
    }

    /**
     * 根据ID加载一个SHOP_商品规格值
     *
     * @param id SHOP_商品规格值ID
     * @return SHOP_商品规格值
     */
    @Override
    public ShopSpecificationValue loadShopSpecificationValue(Integer id) {
        return shopSpecificationValueDAO.load(id);
    }

    /**
     * 查询所有的SHOP_商品规格值，通常有最多取30000条记录的限制
     *
     * @return 所有的SHOP_商品规格值，通常有最多取30000条记录的限制
     */
    @Override
    public List<ShopSpecificationValue> queryAllShopSpecificationValue() {
        return shopSpecificationValueDAO.queryAll();
    }

    /**
     * 查询SHOP_商品规格值
     *
     * @param params 查询参数，为key-value形式
     * @return SHOP_商品规格值集合
     */
    @Override
    public List<ShopSpecificationValue> queryShopSpecificationValue(Map<String, Object> params) {
        return shopSpecificationValueDAO.query(params);
    }

    /**
     * 查询SHOP_商品规格值
     *
     * @param params   查询参数，没有则传null,分页参数key为“sortColumns”
     * @param startRow 起始行数（不含起始行的数据）
     * @param rowSize  要查询记录数
     * @return SHOP_商品规格值集合
     */
    @Override
    public List<ShopSpecificationValue> queryShopSpecificationValue(Map<String, Object> params, int startRow, int rowSize) {
        return shopSpecificationValueDAO.query(params, startRow, rowSize);
    }

    /**
     * 统计SHOP_商品规格值
     *
     * @param params 查询参数，没有则传null,分页参数key为“sortColumns”
     * @return 结果集记录数
     */
    @Override
    public int countShopSpecificationValue(Map<String, Object> params) {
        return shopSpecificationValueDAO.count(params);
    }

}
